1. Field of the Invention
The present invention relates to the management or administration of a network of computing entities, and particularly to maintenance of the integrity of such a network against the ingress of computer viruses (which term is intended to be interpreted broadly to include, worms and other like code). Viruses, upon assimilation within a computing entity, typically cause a deleterious effect the nature of which varies from one virus to another. For example, a virus may affect the performance of the entity within which it has become assimilated (its “host entity”) by deleting or corrupting data, or causing reductions in the performance of its host entity by taking up central processing capability. Alternatively, upon assimilation inside a host entity, a virus may affect the performance of one or more other entities in the network by causing its host entity to launch a denial of service attack, either on specified other entities, for example by bombarding them with traffic, for example, or generally upon the network as a whole, by, in combination with other infected host entities, causing the emission of a high level of traffic generally (i.e. not targeted at particular entities) on its network (whether via email or otherwise). Although these may be harmless to the network infrastructure per se, they act to debilitate the performance of either particular network entities or the speed generally of legitimate traffic.
New viruses are continually written to exploit newly discovered vulnerabilities in existing computing entities and updated or new systems. In response to the discovery of such viruses, providers of, for example, operating systems continually offer updated software releases, known as patches, to remedy the vulnerabilities. This cycle of vulnerability detection, followed by a processes of patching vulnerable computing entities is continual, and so it follows that computing entities must be patched regularly and promptly if successful viral attack is to be kept to a minimum.
2. Description of Related Art
Differing commercial organisations have different policies on the maintenance of what might, for the present purposes, be termed “network integrity”, that is to say the continual and prompt patching of the various computing entities in a network. For example, an organisation such as a bank to whom security is paramount and in which each network user is likely to have a clearly defined set of tasks to perform will desirably have a clearly defined and homogeneous network in which users have little or no autonomy. In other words the number and location of computing entities on the network is static, all computing entities are the same and users are unable to decide for themselves which computing entity they are permitted to use, the configuration of their computing entity, its location within the network or the operations which are performed on it. By contrast, an establishment such as a research laboratory may have a relatively dynamic network having a significant variety of computing entities (e.g. different hardware and operating systems) and users who have significant levels of autonomy. In practice most networks will be administered in accordance with a policy of operation which falls somewhere between these two extreme examples. Additionally, in a network of significant size, it is highly unlikely that all network use will conform entirely with administrative policy, due to a combination of delinquent users and the acceptance of permissible exceptions which may arise as a result of either technical or organisational reasons.
In an attempt to deal with the threat of viral infection, network administrators probe computing entities which are connected to a network. The probing operation will usually reveal the configuration of the subject computing entity in elemental terms: its hardware; its operating system and version; other software applications such as those providing remote administrative access to the entity; and its Internet Protocol (“IP”) address within the network, for example. Each element of an entity's configuration can then be mapped to known vulnerabilities to establish whether the probed entity is vulnerable to an attack, and thus whether it requires patching. Upon discovering one or more vulnerabilities within an entity an administrator may pursue a number of courses of action.
For example, in an ‘authoritarian’ network, a process of enforced patching may take place, in which an administrator causes patches to be downloaded and installed onto user entities via the network upon the discovery of vulnerabilities. Alternatively an administrator may perform the installation of patches manually, that is to say by attending the physical location of the user's computing entity. In a further alternative the user may have responsibility for acquiring and installing the appropriate patches, for example from a designated website. To implement any one of these courses of action it is desirable for the administrator to contact the user associated with the vulnerable computing entity (“associated user”). For example, in the case of automatic or enforced network patching, the subject computing entity may be running ‘mission critical’ software such as, for example, the monthly payroll, interruption of which at certain times (i.e. just before pay day) would be undesirable. By contacting the associated user of the entity an administrator is able to agree an appropriate time at which to perform a patching operation. In the case of a patching operation performed by an administrator at the location of the computing entity in question it is self-evident that the geographical location of the entity is required; normally this cannot be inferred from an IP address and so has to be obtained from the associated user. In the case of a patching operation to be performed by the associated user, the user must obviously be contacted in order to inform them of the need to install the patch. It is therefore desirable, in order efficiently to administer a network, to be able to contact the user of a computing entity via some medium other than the network itself. However, even in an organisation where the administrator is in possession of the identity and contact details of an associated user of a given computing entity, users move around within organisations, leave and are replaced by new users having different contact details.
It is possible, in many instances, to transmit messages directly from a administrator's computing entity to a user entity, which could request that the user contact the administrator (for example, either to arrange a time for patching to take place, or to request that the user performs the patching). While this may enable contact to be established with many users, it is not a reliable contact medium. For example in the case of a server computing entity, a message sent directly and intended to appear on its monitor is not likely to be seen by the associated user for some time, if at all, since the server is intended largely to run without manual intervention. Alternatively, a computing entity may have been left running, for example to perform an experiment, and the associated user may not return to view the monitor for some time.